{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "toc": true
   },
   "source": [
    "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n",
    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#机器学习基础\" data-toc-modified-id=\"机器学习基础-1\">机器学习基础</a></span><ul class=\"toc-item\"><li><span><a href=\"#第1章-机器学习基础\" data-toc-modified-id=\"第1章-机器学习基础-1.1\">第1章 机器学习基础</a></span><ul class=\"toc-item\"><li><span><a href=\"#机器学习场景\" data-toc-modified-id=\"机器学习场景-1.1.1\">机器学习场景</a></span></li><li><span><a href=\"#机器学习组成\" data-toc-modified-id=\"机器学习组成-1.1.2\">机器学习组成</a></span></li><li><span><a href=\"#科普\" data-toc-modified-id=\"科普-1.1.3\">科普</a></span></li></ul></li></ul></li></ul></div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "+ 主要来源自《机器学习实战》周志华-《机器学习》《利用Python进行数据分析》，还有一些网站资料\n",
    "\n",
    "\n",
    "# 机器学习基础   \n",
    "\n",
    "## 第1章 机器学习基础   \n",
    "\n",
    "**机器学习概述**\n",
    "\n",
    "机器学习就是无序的数据转换成有用信息。\n",
    "\n",
    ">1. 获取海量的数据   \n",
    "\n",
    ">2. 从海量数据中获取有用信息\n",
    "\n",
    "### 机器学习场景\n",
    "\n",
    ">例如：识别动物猫   \n",
    "模式识别（官方标准）：人们通过大量的经验，得到结论，从而判断它就是猫。   \n",
    "机器学习（数据学习）：人们通过阅读进行学习，观察它会叫、小眼睛、两只耳朵、四条腿、一条尾巴，得到结论，从而判断它就是猫。    \n",
    "深度学习（深入数据）：人们通过深入了解它，发现它会'喵喵'的叫、与同类的猫科动物很类似，得到结论，从而判断它就是猫。（深度学习常用领域：语音识别、图像识别）   \n",
    "\n",
    "模式识别（pattern recognition）：模式识别是最古老的（作为一个术语而言，可以说是很过时的）。\n",
    "    我们把环境与客体统称为“模式”，识别是对模式的一种认知，是如何让一个计算机程序去做一些看起来很“智能”的事情。\n",
    "    通过融于智慧和直觉后，通过构建程序，识别一些事物，而不是人，例如: 识别数字。    \n",
    "    \n",
    "机器学习（machine learning）：机器学习是最基础的（当下初创公司和研究实验室的热点领域之一）。\n",
    "    在90年代初，人们开始意识到一种可以更有效地构建模式识别算法的方法，那就是用数据（可以通过廉价劳动力采集获得）去替换专家（具有很多图像方面知识的人）。\n",
    "    “机器学习”强调的是，在给计算机程序（或者机器）输入一些数据后，它必须做一些事情，那就是学习这些数据，而这个学习的步骤是明确的。\n",
    "    机器学习（Machine Learning）是一门专门研究计算机怎样模拟或实现人类的学习行为，以获取新的知识或技能，重新组织已有的知识结构使之不断改善自身性能的学科。    \n",
    "    \n",
    "深度学习（deep learning）：深度学习是非常崭新和有影响力的前沿领域，我们甚至不会去思考-后深度学习时代。\n",
    "    深度学习是机器学习研究中的一个新的领域，其动机在于建立、模拟人脑进行分析学习的神经网络，它模仿人脑的机制来解释数据，例如图像，声音和文本。\n",
    "\n",
    "\n",
    "\n",
    "参考地址：   \n",
    "http://www.csdn.net/article/2015-03-24/2824301    \n",
    "\n",
    "http://baike.baidu.com/link?url=76P-uA4EBrC3G-I__P1tqeO7eoDS709Kp4wYuHxc7GNkz_xn0NxuAtEohbpey7LUa2zUQLJxvIKUx4bnrEfOmsWLKbDmvG1PCoRkJisMTQka6-QReTrIxdYY3v93f55q\n",
    "\n",
    "\n",
    ">机器学习已应用于多个领域，远远超出大多数人的想象，横跨：计算机科学、工程技术和统计学等多个学科。\n",
    "\n",
    "* 搜索引擎：根据你的搜索点击，优化你下次的搜索结果。   \n",
    "* 垃圾邮件：会自动的过滤垃圾广告邮件到垃圾箱内。   \n",
    "* 超市优惠券：你会发现，你在购买小孩子尿布时候，售货员会赠送给你一张优惠券可以兑换免费啤酒。  \n",
    "* 邮件邮寄：手写软件自动识别寄送贺卡的地址。  \n",
    "* 申请贷款：通过你最近的金融活动信息进行综合评定，决定你是否合格。  \n",
    "\n",
    "\n",
    "### 机器学习组成\n",
    "\n",
    "**主要任务**\n",
    "\n",
    "* 分类：将实例数据划分到合适的类别中。  \n",
    "* 回归：主要用于预测数值型数据（示例：数据通过给定数据点耐力和最优曲线）   \n",
    "\n",
    "**监督学习**\n",
    "\n",
    "* 必须确定目标变量的值，以便机器学习可以发现特征值和目标变量之间的关系。（包括分类和回归）  \n",
    "* 样本集：训练数据+测试数据\n",
    "    * 训练样本=特征（feature）+目标变量（label：分类-离散值/回归-连续值）  \n",
    "    * 特征通常是训练样本集的列，它们是独立测量得到的。 \n",
    "    * 目标变量：目标变量是机器学习预测算法的测试结果。\n",
    "        * 在分类算法中目标变量的类型通常是标称型（如：真与假），而在回归算法中通常是连续型（如：1~100）\n",
    "\n",
    "\n",
    "* 知识表示：  \n",
    "1.可以采用规则集的形式【例如：数学成绩大于90分为优秀】 \n",
    "2.可以采用概率分布的形式【例如：通过统计分布，90%的同学数学成绩，在70分以下，那么大于70分定为优秀】  \n",
    "3.可以使用训练样本集中的一个实例【例如：通过样本集合，我们训练处一个模型实例，得出年轻，数学成绩中高等，谈吐优雅，我们认为是优秀】\n",
    "\n",
    "\n",
    "**非监督学习**  \n",
    "* 数据没有类别，也不会给定目标值。  \n",
    "* 聚类：在无监督学习中，将数据集分成由类似的对象组成多个类的过程称为聚类。  \n",
    "* 此外，无监督学习还可以减少数据特征的维度，以便我们可以使用二维或三维图形更加直观地展示数据信息。\n",
    "\n",
    "**训练过程**  \n",
    "\n",
    "![tu4](./image/Ch00/训练过程.jpg)\n",
    "\n",
    "\n",
    "**算法汇总**   \n",
    "\n",
    "<center>**用于执行分类、回归、聚类和密度估计的机器学习算法**</center>\n",
    "\n",
    "\n",
    "\n",
    "|<p align=\"center\">监督学习的用途</p>|\n",
    "|--------------------------|------|\n",
    "|<p align=\"left\">k-近邻算法|<p align=\"left\">线性回归|\n",
    "|<p align=\"left\">朴素贝叶斯算法   |<p align=\"left\">局部加权线性回归      |\n",
    "|<p align=\"left\">支持向量机|<p align=\"left\">Ridge回归|\n",
    "|<p align=\"left\">决策树|<p align=\"left\">Lasso最小回归系数估计           |\n",
    "    \n",
    "    \n",
    "|<p align=\"center\">无监督学习的用途|\n",
    "|--------------------------|------|\n",
    "|<p align=\"left\">K-均值                           |<p align=\"left\">最大期望算法          |\n",
    "|<p align=\"left\">DBSCAN|<p align=\"left\">Parzen窗设计|\n",
    "\n",
    "\n",
    "机器学习使用\n",
    ">选择算法需要考虑的两个问题\n",
    "\n",
    "1.算法场景  \n",
    "* 预测明天是否下雨，因为可以用历史的天气情况做预测，所以选择监督学习算法   \n",
    "* 给一群陌生的人进行分组，但是我们并没有这些人的类别信息，所以选择无监督学习算法、通过他们身高、体重等特征进行处理。    \n",
    "\n",
    "2.需要收集或分析的数据是什么  \n",
    ">举例\n",
    "\n",
    "![tu6](./image/Ch00/过程.jpg)\n",
    "\n",
    "\n",
    ">机器学习开发流程\n",
    "\n",
    "* 收集数据: 收集样本数据\n",
    "* 准备数据: 注意数据的格式\n",
    "* 分析数据: 为了确保数据集中没有垃圾数据；\n",
    "    如果是算法可以处理的数据格式或可信任的数据源，则可以跳过该步骤；\n",
    "    另外该步骤需要人工干预，会降低自动化系统的价值。\n",
    "* 训练算法: [机器学习算法核心]如果使用无监督学习算法，由于不存在目标变量值，则可以跳过该步骤\n",
    "* 测试算法: [机器学习算法核心]评估算法效果\n",
    "* 使用算法: 将机器学习算法转为应用程序\n",
    "\n",
    "\n",
    "**Python语言优势**\n",
    "\n",
    "\n",
    "1. 可执行伪代码\n",
    "2. Python比较流行：使用广泛、代码范例多、丰富模块库，开发周期短\n",
    "3. Python语言的特色：清晰简练、易于理解\n",
    "4. Python语言的缺点：唯一不足的是性能问题\n",
    "5. Python相关的库    \n",
    "\n",
    "\n",
    "\n",
    "\n",
    "+ 科学函数库：SciPy、NumPy（底层语言：C和Fortran）\n",
    "+  绘图工具库：Matplotlib\n",
    "\n",
    "\n",
    "**奥卡姆剃刀（Occam's razor）：**若有多个假设与观察一致，则选最简单的那个。\n",
    "\n",
    "**NFL(No Free Lunch Theorem)：**没有免费的午餐定理。\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "### 科普\n",
    "\n",
    "　　机器学习（Machine Learning）专门研究计算机怎样模拟或实现人类的学习行为，以获取新的知识或技能，重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心，是使计算机具有智能的根本途径，其应用遍及人工智能的各个领域，它主要使用归纳、综合。  ——来自 百度百科\n",
    "\n",
    "\n",
    "简单来讲，机器学习就是一门让机器能够进行自我学习并不断优化功能的学科。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": true,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
